<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head>
<title></title>
  <style type="text/css">
    <!--code { font-family: Courier New, Courier; font-size: 10pt; margin: 0px; }-->
  </style>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head><body>


<!-- ======================================================== -->
<!-- = Java Sourcecode to HTML automatically converted code = -->
<!-- =   Java2Html Converter 5.0 [2006-02-26] by Markus Gebhard  markus@jave.de   = -->
<!-- =     Further information: http://www.java2html.de     = -->
<div align="left" class="java">
<table border="0" cellpadding="3" cellspacing="0" bgcolor="#ffffff">
  <!-- start headline -->
   <tr>
    <td colspan="2">
     <center><font size="+2">
      <code><b>
DAOBase.java
      </b></code>
     </font></center>
    </td>
   </tr>
  <!-- end headline -->
   <tr>
  <!-- start source code -->
   <td nowrap="nowrap" valign="top" align="left">
    <code>
<a name="1"><font color="#808080">01</font>&nbsp;</a><font color="#7f0055"><b>package&nbsp;</b></font><font color="#000000">de.lizenzverwaltung.model.dao.impl;</font><br />
<a name="2"><font color="#808080">02</font>&nbsp;</a><font color="#ffffff"></font><br />
<a name="3"><font color="#808080">03</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.io.IOException;</font><br />
<a name="4"><font color="#808080">04</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.net.URL;</font><br />
<a name="5"><font color="#808080">05</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.sql.Connection;</font><br />
<a name="6"><font color="#808080">06</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.sql.DriverManager;</font><br />
<a name="7"><font color="#808080">07</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.sql.ResultSet;</font><br />
<a name="8"><font color="#808080">08</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.sql.SQLException;</font><br />
<a name="9"><font color="#808080">09</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.sql.Statement;</font><br />
<a name="10"><font color="#808080">10</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">java.util.Properties;</font><br />
<a name="11"><font color="#808080">11</font>&nbsp;</a><font color="#ffffff"></font><br />
<a name="12"><font color="#808080">12</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">org.apache.commons.logging.Log;</font><br />
<a name="13"><font color="#808080">13</font>&nbsp;</a><font color="#7f0055"><b>import&nbsp;</b></font><font color="#000000">org.apache.commons.logging.LogFactory;</font><br />
<a name="14"><font color="#808080">14</font>&nbsp;</a><font color="#ffffff"></font><br />
<a name="15"><font color="#808080">15</font>&nbsp;</a><font color="#3f5fbf">/**</font><br />
<a name="16"><font color="#808080">16</font>&nbsp;</a><font color="#ffffff">&nbsp;</font><font color="#3f5fbf">*&nbsp;Diese&nbsp;Klasse&nbsp;stellt&nbsp;die&nbsp;Basisfunktionalit&auml;t</font><br />
<a name="17"><font color="#808080">17</font>&nbsp;</a><font color="#ffffff">&nbsp;</font><font color="#3f5fbf">*&nbsp;aller&nbsp;DAO-Implementierungen&nbsp;bereit</font><br />
<a name="18"><font color="#808080">18</font>&nbsp;</a><font color="#ffffff">&nbsp;</font><font color="#3f5fbf">*&nbsp;</font><br />
<a name="19"><font color="#808080">19</font>&nbsp;</a><font color="#ffffff">&nbsp;</font><font color="#3f5fbf">*&nbsp;</font><font color="#7f9fbf">@author&nbsp;</font><font color="#3f5fbf">user</font><br />
<a name="20"><font color="#808080">20</font>&nbsp;</a><font color="#ffffff">&nbsp;</font><font color="#3f5fbf">*</font><br />
<a name="21"><font color="#808080">21</font>&nbsp;</a><font color="#ffffff">&nbsp;</font><font color="#3f5fbf">*/</font><br />
<a name="22"><font color="#808080">22</font>&nbsp;</a><font color="#7f0055"><b>public&nbsp;class&nbsp;</b></font><font color="#000000">DAOBase&nbsp;</font><font color="#000000">{</font><br />
<a name="23"><font color="#808080">23</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;</font><br />
<a name="24"><font color="#808080">24</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>private&nbsp;</b></font><font color="#000000">Log&nbsp;logger&nbsp;=&nbsp;LogFactory.getLog</font><font color="#000000">(</font><font color="#000000">DAOBase.</font><font color="#7f0055"><b>class</b></font><font color="#000000">)&nbsp;</font><font color="#000000">;</font><br />
<a name="25"><font color="#808080">25</font>&nbsp;</a><font color="#ffffff"></font><br />
<a name="26"><font color="#808080">26</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;</font><font color="#3f5fbf">/**</font><br />
<a name="27"><font color="#808080">27</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;</font><font color="#3f5fbf">*&nbsp;Datenbank-Verbindung&nbsp;ermitteln</font><br />
<a name="28"><font color="#808080">28</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;</font><font color="#3f5fbf">*&nbsp;</font><br />
<a name="29"><font color="#808080">29</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;</font><font color="#3f5fbf">*&nbsp;</font><font color="#7f9fbf">@return</font><br />
<a name="30"><font color="#808080">30</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;</font><font color="#3f5fbf">*&nbsp;</font><font color="#7f9fbf">@throws&nbsp;</font><font color="#3f5fbf">SQLException</font><br />
<a name="31"><font color="#808080">31</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;</font><font color="#3f5fbf">*/</font><br />
<a name="32"><font color="#808080">32</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;</font><font color="#7f0055"><b>protected&nbsp;</b></font><font color="#000000">Connection&nbsp;openConnection</font><font color="#000000">()&nbsp;</font><font color="#7f0055"><b>throws&nbsp;</b></font><font color="#000000">SQLException&nbsp;</font><font color="#000000">{</font><br />
<a name="33"><font color="#808080">33</font>&nbsp;</a><font color="#ffffff"></font><br />
<a name="34"><font color="#808080">34</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">Connection&nbsp;conn&nbsp;=&nbsp;</font><font color="#7f0055"><b>null</b></font><font color="#000000">;</font><br />
<a name="35"><font color="#808080">35</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">Properties&nbsp;dbprops&nbsp;=&nbsp;</font><font color="#7f0055"><b>new&nbsp;</b></font><font color="#000000">Properties</font><font color="#000000">()</font><font color="#000000">;</font><br />
<a name="36"><font color="#808080">36</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>try&nbsp;</b></font><font color="#000000">{</font><br />
<a name="37"><font color="#808080">37</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">URL&nbsp;url&nbsp;=&nbsp;getClass</font><font color="#000000">()</font><font color="#000000">.getClassLoader</font><font color="#000000">()</font><font color="#000000">.getResource</font><font color="#000000">(</font><font color="#2a00ff">&#34;app.properties&#34;</font><font color="#000000">)</font><font color="#000000">;</font><br />
<a name="38"><font color="#808080">38</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">dbprops.load</font><font color="#000000">(</font><font color="#000000">url.openStream</font><font color="#000000">())</font><font color="#000000">;</font><br />
<a name="39"><font color="#808080">39</font>&nbsp;</a><font color="#ffffff"></font><br />
<a name="40"><font color="#808080">40</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Verbindungsparameter&nbsp;auslesen</font><br />
<a name="41"><font color="#808080">41</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">String&nbsp;dbdriver&nbsp;=&nbsp;dbprops.getProperty</font><font color="#000000">(</font><font color="#2a00ff">&#34;database.driver&#34;</font><font color="#000000">)</font><font color="#000000">;</font><br />
<a name="42"><font color="#808080">42</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">String&nbsp;dburl&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;dbprops.getProperty</font><font color="#000000">(</font><font color="#2a00ff">&#34;database.url&#34;</font><font color="#000000">)</font><font color="#000000">;</font><br />
<a name="43"><font color="#808080">43</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">String&nbsp;username&nbsp;=&nbsp;dbprops.getProperty</font><font color="#000000">(</font><font color="#2a00ff">&#34;database.user&#34;</font><font color="#000000">)</font><font color="#000000">;</font><br />
<a name="44"><font color="#808080">44</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">String&nbsp;password&nbsp;=&nbsp;dbprops.getProperty</font><font color="#000000">(</font><font color="#2a00ff">&#34;database.password&#34;</font><font color="#000000">)</font><font color="#000000">;</font><br />
<a name="45"><font color="#808080">45</font>&nbsp;</a><font color="#ffffff"></font><br />
<a name="46"><font color="#808080">46</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;1.&nbsp;Datenbank-Treiber&nbsp;registrieren</font><br />
<a name="47"><font color="#808080">47</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;Hier&nbsp;wird&nbsp;sichergestellt,&nbsp;dass&nbsp;der</font><br />
<a name="48"><font color="#808080">48</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;ben&ouml;tigte&nbsp;JDBC-Treiber&nbsp;in&nbsp;der&nbsp;JVM</font><br />
<a name="49"><font color="#808080">49</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;geladen&nbsp;wurde</font><br />
<a name="50"><font color="#808080">50</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">Class.forName</font><font color="#000000">(</font><font color="#000000">dbdriver</font><font color="#000000">)</font><font color="#000000">;</font><br />
<a name="51"><font color="#808080">51</font>&nbsp;</a><font color="#ffffff"></font><br />
<a name="52"><font color="#808080">52</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;2.&nbsp;Verbindung&nbsp;zur&nbsp;Datenbank&nbsp;herstellen</font><br />
<a name="53"><font color="#808080">53</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;JDBC-URL&nbsp;formulieren&nbsp;und&nbsp;DriverManager</font><br />
<a name="54"><font color="#808080">54</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#3f7f5f">//&nbsp;wegen&nbsp;Verbindung&nbsp;anfragen</font><br />
<a name="55"><font color="#808080">55</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">conn&nbsp;=&nbsp;DriverManager.getConnection</font><font color="#000000">(</font><font color="#000000">dburl,&nbsp;username,&nbsp;password</font><font color="#000000">)</font><font color="#000000">;</font><br />
<a name="56"><font color="#808080">56</font>&nbsp;</a><font color="#ffffff"></font><br />
<a name="57"><font color="#808080">57</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">}&nbsp;</font><font color="#7f0055"><b>catch&nbsp;</b></font><font color="#000000">(</font><font color="#000000">ClassNotFoundException&nbsp;cnfe</font><font color="#000000">)&nbsp;{</font><br />
<a name="58"><font color="#808080">58</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">logger.error</font><font color="#000000">(</font><font color="#2a00ff">&#34;Unable&nbsp;to&nbsp;load&nbsp;database&nbsp;driver&#34;</font><font color="#000000">,&nbsp;cnfe</font><font color="#000000">)</font><font color="#000000">;</font><br />
<a name="59"><font color="#808080">59</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">}&nbsp;</font><font color="#7f0055"><b>catch&nbsp;</b></font><font color="#000000">(</font><font color="#000000">IOException&nbsp;e</font><font color="#000000">)&nbsp;{</font><br />
<a name="60"><font color="#808080">60</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">logger.error</font><font color="#000000">(</font><font color="#2a00ff">&#34;Could&nbsp;not&nbsp;establish&nbsp;a&nbsp;database&nbsp;connection&#34;</font><font color="#000000">,&nbsp;e</font><font color="#000000">)</font><font color="#000000">;</font><br />
<a name="61"><font color="#808080">61</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<a name="62"><font color="#808080">62</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#7f0055"><b>return&nbsp;</b></font><font color="#000000">conn;</font><br />
<a name="63"><font color="#808080">63</font>&nbsp;</a><font color="#ffffff">&nbsp;&nbsp;</font><font color="#000000">}</font><br />
<a name="64"><font color="#808080">64</font>&nbsp;</a><font color="#000000">}</font></code>
    
   </td>
  <!-- end source code -->
   </tr>
</table>
</div>
<!-- =       END of automatically generated HTML code       = -->
<!-- ======================================================== -->


</body></html>